import axios from 'axios';
import http from '../router/http'
// 创建一个axios实例，可在这里配置一些通用的请求设置，比如基础URL、请求头信息等
const instance = axios.create({
    baseURL: http.baseURL, // 从环境变量获取基础URL
    withCredentials: true // 根据实际情况设置是否允许携带跨域Cookie等信息
});

// 根据token获取当前用户信息的公共方法
export const getUserByToken = async () => {
    try {
        // 在请求头中添加token信息，这里假设后端要求以 'Authorization' 字段传递token，格式为 'Bearer <token>'，需根据后端实际要求调整
        // instance.defaults.headers.common['Authorization'] = `Bearer ${token}`;
        const token = localStorage.getItem('token')
        const response = await http.get('/userToken/getUserByToken',{
            params: {
                token: token
            }
        });
        console.log(response)
        if (response.status === 200 && response.data && response.data.code === 1) {
            return response.data; // 如果请求成功，返回后端返回的用户信息数据
        }else{
            console.error('根据token获取用户信息失败:', response.data);
            router.push('/login'); // 如果请求失败，跳转到登录页面
        }
        return null; // 如果后端返回的数据不符合预期等情况，返回null
    } catch (error) {
        console.error('根据token获取用户信息失败:', error);
        return null; // 在请求出现错误时，返回null
    } finally {
        // 无论请求成功与否，清除请求头中的token信息（避免对其他请求造成影响，如果后续有其他不需要带此token的请求）
        // delete instance.defaults.headers.common['Authorization'];
    }
};